// 说一下原生ajax的交互过程（即流程）
// 答：交互流程：
// 		 先创建XHR对象即XMLHttpRequest()
// 	     然后open准备发送，open中有三个参数一是提交方式get和post,二是接口地址，三是同步和异步
// 		 第三步是用send发送
// 		 第四步再发送的过程中通过onreadystatechange来监听接收的回调函数，
//可以通过判断readyState＝＝4和status=＝200来判断是否成功返回，然后通过responseText接收成功返回的数据
btn.onclick = function() {
        // console.log('test');
        //1.创建对象
        const xhr = new XMLHttpRequest();
        //2.设置请求方法和 url()
        xhr.open('GET', 'http://127.0.0.1:8000/server');
        //3.发送
        xhr.send();
        //4.事件绑定，处理返回的结果 readystate为一个表示状态的属性 有0、1、2、3、4
        xhr.onreadystatechange = function() {
            //判断
            if (xhr.readyState === 4) {
                //判断状态码 200 404 403 401 500
                //2开头就都是成功
                if (xhr.status >= 200 && xhr.status < 300) {
                    //处理结果
                    /*
                    console.log(xhr.status); //响应行里面的代码
                    console.log(xhr.statusText);//...的状态字符串
                    console.log(xhr.getAllResponseHeaders());//所有响应头
                    console.log(xhr.response);//响应体
                    */

                    // 设置result的文本
                    result.innerHTML = xhr.response;

                } else {

                }
            }
        }
    }
    //***********************************服务端代码 */
    // const { response } = require('express');
const express = require('express'); //引入EXPRESS

const app = express(); //创建应用对象

app.get('/server', (request, response) => {
    //设置响应头
    response.setHeader('Access-Control-Allow-Origin', '*');


    //设置响应体
    response.send('hello ajax');
}); //创建路由规则 requese 是对请求报文的封装 reponse是对响应报文的封装

app.listen(8000, () => {
    console.log("服务已经启动，8000端口监听中。。。")
}); //启动监听服务